Structured Query Language (SQL) is a common application programming interface (API) for databases. SQL can be used by applications to access reporting-views and extract the appropriate information. In most cases, data is read in an aggregated manner which means the SQL statements issued by the applications contain a GROUP BY clause and aggregation-functions on keyfigures (e.g. sum,min,max).
The models/views used by the HANA applications are created by the SAP HANA Modeler. This is a tool beside the standard HANA Administration console in eclipse (just a different perspective). As this tool is decoupled from the HANA applications that display the data additional metadata information about the views (like ViewAttribute and Keyfigures) are stored in HANA tables that are read by such clients.
This concept gives the end-user the freedom to create a reporting-view once and consume it by different HANA applications. Due to this generic approach the HANA applications do not have the ability and logic to post-process the extracted information. Therefore the HANA database must provide the correct result for all type of queries to guarantee a correct handling in all HANA applications. In most of the case this is done easily because the views and the SQL-queries behave relational like it is defined in the SQL-standard but in some case the HANA database must handle the queries differently in order to provide the correct/expected result to the HANA applications. Typically those special cases occur when more complex operations like Exception Aggregation (Count Distinct), non-summable calculated keyfigures or currency conversion are used in the views. Now the challenge is to embed the handling of these special cases into the given concept and the implementation of the calculation engine.